MAYBE 47.552
↳ HASKELL
↳ LR
((mapAndUnzipM :: (b -> Maybe (c,a)) -> [b] -> Maybe ([c],[a])) :: (b -> Maybe (c,a)) -> [b] -> Maybe ([c],[a])) |
import qualified Maybe import qualified Prelude |
|||||
mapAndUnzipM :: Monad a => (d -> a (c,b)) -> [d] -> a ([c],[b])
|
import qualified Monad import qualified Prelude |
\(a,b)~(as,bs)→(a : as,b : bs)
unzip0 (a,b) ~(as,bs) = (a : as,b : bs)
\xs→return (x : xs)
sequence0 x xs = return (x : xs)
\x→sequence cs >>= sequence0 x
sequence1 cs x = sequence cs >>= sequence0 x
↳ HASKELL
↳ LR
↳ HASKELL
↳ IPR
((mapAndUnzipM :: (b -> Maybe (a,c)) -> [b] -> Maybe ([a],[c])) :: (b -> Maybe (a,c)) -> [b] -> Maybe ([a],[c])) |
import qualified Monad import qualified Prelude |
import qualified Maybe import qualified Prelude |
|||||
mapAndUnzipM :: Monad a => (c -> a (b,d)) -> [c] -> a ([b],[d])
|
~(as,bs)
unzip00 (as,bs) = as
unzip01 (as,bs) = bs
↳ HASKELL
↳ LR
↳ HASKELL
↳ IPR
↳ HASKELL
↳ BR
((mapAndUnzipM :: (a -> Maybe (c,b)) -> [a] -> Maybe ([c],[b])) :: (a -> Maybe (c,b)) -> [a] -> Maybe ([c],[b])) |
import qualified Maybe import qualified Prelude |
|||||
mapAndUnzipM :: Monad d => (a -> d (c,b)) -> [a] -> d ([c],[b])
|
import qualified Monad import qualified Prelude |
↳ HASKELL
↳ LR
↳ HASKELL
↳ IPR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
((mapAndUnzipM :: (a -> Maybe (b,c)) -> [a] -> Maybe ([b],[c])) :: (a -> Maybe (b,c)) -> [a] -> Maybe ([b],[c])) |
import qualified Monad import qualified Prelude |
import qualified Maybe import qualified Prelude |
|||||
mapAndUnzipM :: Monad b => (c -> b (d,a)) -> [c] -> b ([d],[a])
|
undefined
| False
= undefined
undefined = undefined1
undefined0 True = undefined
undefined1 = undefined0 False
↳ HASKELL
↳ LR
↳ HASKELL
↳ IPR
↳ HASKELL
↳ BR
↳ HASKELL
↳ COR
↳ HASKELL
(mapAndUnzipM :: (c -> Maybe (b,a)) -> [c] -> Maybe ([b],[a])) |
import qualified Maybe import qualified Prelude |
|||||
mapAndUnzipM :: Monad d => (c -> d (a,b)) -> [c] -> d ([a],[b])
|
import qualified Monad import qualified Prelude |